Environnements pour l'analyse expérimentale d'applications de calcul haute performance. (Environments for the experimental analysis of HPC applications)
نویسنده
چکیده
ions offertes par le système 3.1 3.1.2 Mémoire virtuelle Comme nous l’avons déjà énoncé, un processeur manipule des adresses dites virtuelles lorsqu’il décode des instructions. Une unité matérielle spécifique (MMU) traite de manière semi-automatique la traduction de ces adresses en leurs correspondants véritables (physiques). On dénomme communément par espace d’adressage virtuel l’ensemble des emplacements en mémoire virtuelle auxquels il est possible d’associer une adresse. Ainsi, il est théoriquement possible d’adresser 4 GiB de mémoire sur une architecture dite 32 bits (les registres communs ont une taille de 32 bits), et 4 PiB (264 octets) sur les architectures 64 bits (en pratique la plupart des systèmes se limitent à 248). La mémoire virtuelle fonctionne en pratique par un découpage de la mémoire en blocs contigus appelés pages et une gestion par le système d’exploitation de la correspondance entre des pages physiques et des pages virtuelles. Malgré les nombreux avantages de la technique, elle reste coûteuse à de nombreux égards, notamment en mémoire système : le système conserve pour chaque page physique un certain nombre d’informations sur leur utilisation. Le mécanisme matériel est aussi particulièrement sollicité. Du point de vue des applications, et nous reviendrons sur ce point plus tard, la mémoire virtuelle a une influence critique sur leur performance en cache. En effet, une application ne maîtrise pas la façon dont le système associe les pages virtuelles aux pages physiques, alors que sa performance en cache (indexé physiquement la plupart du temps) est directement liée aux adresses physiques utilisées. Enfin, la plupart des systèmes d’exploitation modernes considèrent qu’un espace d’adressage est associé à un processus particulier. Cet espace contient donc le code et les données (statiques et dynamiques) du programme s’exécutant. Ainsi, tous les threads d’un même processus ont accès au même espace d’adressage et peuvent donc communiquer en utilisant les variables globales du programme. 3.1.3 Groupes de processus Il peut être intéressant pour l’utilisateur de spécifier qu’un ensemble de processus ne devrait pas recevoir plus d’un certaine quantité de mémoire ou être considéré comme un seul lors de la répartition des processeurs. Ce besoin est notamment exprimé par des entreprises louant du matériel, pour contrôler finement ce qu’obtient un client, ou des administrateurs système pour éviter qu’un utilisateur ne monopolise une machine. A ce titre, certains systèmes d’exploitation comme Linux fournissent une notion de groupes de processus (à ne pas confondre avec les groupes d’utilisateurs). Les différentes politiques de gestion des ressources du système sont alors adaptées pour prendre en compte ces groupes. Nous étudierons notamment le cas de l’ordonnanceur système dans la section suivante. Dans sa version la plus souple, un groupe de processus est défini comme n’importe quel ensemble, dynamique, de processus. Le système garanti généralement que tous les processus appartenant à un groupe doivent être traités de manière équitable pour l’attribution des ressources. Par souci de simplicité, l’appartenance à un groupe est héréditaire : tout processus créé hérite des groupes de son père. Il est bien sûr possible
منابع مشابه
Defining and controlling the heterogeneity of a cluster: The Wrekavoc tool
The experimental validation and the testing of solutions that are designed for heterogeneous environments is challenging. We introduce Wrekavoc as an accurate tool for this purpose: it runs unmodified applications on emulated multisite heterogeneous platforms. Its principal technique consists in downgrading the performance of the platform characteristics in a prescribed way. The platform charac...
متن کاملArchitecture for the Next Generation System Management Tools for Distributed Computing Platforms
In order to get more results or greater accuracy, computational scientists execute mainly parallel or distributed applications, and try to scale these applications up. Accordingly, they use more and more distributed resources, using local large-scale HPC systems, grids or even clouds. However, in most of cases, the use and management of such platforms is static. Indeed generally, the applicatio...
متن کاملFrom Flow Control in Multi-path Networks to Multiple Bag-of-tasks Application Scheduling on Grids
A very large number of applications that are currently deployed on large scale distributed systems such as grids or volunteer computing systems are Bag-of-Tasks (BoT) applications. Up until now, simple mechanisms have been used to ensure a fair sharing of resources amongst these applications. Although these mechanisms have proved e cient for CPU-bound applications, they are known to be ine ecti...
متن کاملCoping with silent errors in HPC applications
This report describes a unified framework for the detection and correction of silent errors, which constitute a major threat for scientific applications at extremescale. We first motivate the problem and explain why checkpointing must be combined with some verification mechanism. Then we introduce a general-purpose technique based upon computational patterns that periodically repeat over time. ...
متن کاملANALYSIS 2000 : CHALLENGES AND OPPORTUNITIES by Lynn Arthur
Dans cette contribution on essaie de tracer les lignes de développements possibles de l'enseignement de l'analyse. Il importe de souligner que dans le monde de l'´ education le mot " analyse " est plutôt utilisé au sens de l'américain calculus. Il s'agit de calcul différentiel et intégral conçu pour les masses; il se concentre sur des procédés et des recettes, alors que l'analyse s'intéresse au...
متن کامل